package com.icebartech.base.common.enums;

/**
 * 平台常用的枚举值
 * @author Administrator
 *
 */
public class BaseEnums {
	/**
	 * 支付方式枚举
	 * @author wenhsh
	 *
	 */
	public enum PayType{
		customer_point("customer_point", "房客积分"),
		service_point("service_point", "服务积分"),
		agent_point("agent_point", "代理积分"),
		camp_point("camp_point", "营地积分"),
		trip_point("trip_point", "旅游积分"),
		owner_point("owner_point", "房主积分"),
		weixin("weixin", "微信支付"),
		alipay("alipay", "支付宝支付"),
		offline("offline", "线下支付");
		private String key;
		private String value;
		
		private PayType(String key, String value) {
			this.key = key;
			this.value = value;
		}
		
		public String getKey() {
			return key;
		}
		
		public String getValue() {
			return value;
		}
	}
	
	/**
	 * 附件业务类型
	 * @author wenhsh
	 *
	 */
	public enum AttachmentTargetType{
		admin("admin", "后台上传"),
		mini("mini", "小程序上传"),
		app("app", "App端上传");
		private String key;
		private String value;
		
		private AttachmentTargetType(String key, String value) {
			this.key = key;
			this.value = value;
		}
		
		public String getKey() {
			return key;
		}
		
		public String getValue() {
			return value;
		}
	}
	
	/**
	 * 评论类型
	 * @author wenhsh
	 *
	 */
	public enum ReplyType{
		camp("camp", "房车营地评论"),
		rent("rent", "房车租赁评论");
		private String key;
		private String value;
		private ReplyType(String key, String value) {
			this.key = key;
			this.value = value;
		}
		public String getKey() {
			return key;
		}
		public String getValue() {
			return value;
		}
		
	}
	
	//订单状态枚举
	public enum OrderStatus{
		wait_pay("wait_pay", "未支付"),
		pay("pay", "已支付"),
		cancel_user("cancel_user", "用户主动取消"),
		cancel_admin("cancel_admin", "后台取消"),
		cancel_timeout("cancel_timeout", "超时取消"),
		refund_user("refund_user", "用户主动退款"),
		refund_admin("refund_admin", "后台退款"),
		refund_auto("refund_auto", "自动退款");
		
		private String key;
		private String value;
		private OrderStatus(String key, String value) {
			this.key = key;
			this.value = value;
		}
		public String getKey() {
			return key;
		}
		public String getValue() {
			return value;
		}
		
	}
	
	//订单服务状态枚举
	public enum ServiceStatus{
		unfinished("unfinished", "未完成"),
		finished("finished", "已完成"),
		unprovided("unprovided", "未发放"),
		provided("provided", "已发放"),
		pending("pending", "进行中");
		
		private String key;
		private String value;
		private ServiceStatus(String key, String value) {
			this.key = key;
			this.value = value;
		}
		public String getKey() {
			return key;
		}
		public String getValue() {
			return value;
		}
		
	}
	
	//订单类型枚举
	public enum OrderType{
		rv_camp("rv_camp", "房车营地订单"),
		rv_rent("rv_rent", "房车租赁订单"),
		invest_product("invest_product", "投资专区订单"),
		camp_product("camp_product", "营地商品订单"),
		trip_product("trip_product", "旅游商品订单");
		
		private String key;
		private String value;
		private OrderType(String key, String value) {
			this.key = key;
			this.value = value;
		}
		public String getKey() {
			return key;
		}
		public String getValue() {
			return value;
		}
		
	}
	
	public enum BusType{
		SEND_ORDER("send_order", "发红包扣减余额"),
		RECEIVE_ORDER("receive_order", "抢红包加余额"),
		WITHDRAW("withdraw ", "余额提现"),
		BONUS("bonus", "分销奖金");
		
		private String key;
		private String value;
		private BusType(String key, String value) {
			this.key = key;
			this.value = value;
		}
		public String getKey() {
			return key;
		}
		public String getValue() {
			return value;
		}
	}

	public enum MsgType{
		system("system", "系统消息"),
		user("user", "用户消息");
		private String key;
		private String value;
		private MsgType(String key, String value) {
			this.key = key;
			this.value = value;
		}
		public String getKey() {
			return key;
		}
		public String getValue() {
			return value;
		}
		
	}
	/*
	public enum PositionType{
		master("master", "店长"),
		barber("barber", "理发师"),
		normal("normal", "学徒");
		private String key;
		private String value;
		private PositionType(String key, String value) {
			this.key = key;
			this.value = value;
		}
		public String getKey() {
			return key;
		}
		public String getValue() {
			return value;
		}
	}
	
	public enum StoreType{
		self("self", "自营"),
		join("join", "加盟");
		private String key;
		private String value;
		private StoreType(String key, String value) {
			this.key = key;
			this.value = value;
		}
		public String getKey() {
			return key;
		}
		public String getValue() {
			return value;
		}
	}
	*/
	public enum StorePhotoType{
		banner("banner", "banner图"),
		avatar("avatar", "门店照片"),
		bus("bus", "营业执照"),
		fire("fire", "消防许可"),
		health("health", "卫生许可"),
		room("room", "室内导图");
		private String key;
		private String value;
		private StorePhotoType(String key, String value) {
			this.key = key;
			this.value = value;
		}
		public String getKey() {
			return key;
		}
		public String getValue() {
			return value;
		}
	}
	
	public enum RoomPhotoType{
		avatar("avatar", "封面照片"),
		normal("normal", "普通照片");
		private String key;
		private String value;
		private RoomPhotoType(String key, String value) {
			this.key = key;
			this.value = value;
		}
		public String getKey() {
			return key;
		}
		public String getValue() {
			return value;
		}
	}
	
	public enum StoreType{
		regular("regular", "自营店"),
		chain("chain", "加盟店");
		private String key;
		private String value;
		private StoreType(String key, String value) {
			this.key = key;
			this.value = value;
		}
		public String getKey() {
			return key;
		}
		public String getValue() {
			return value;
		}
	}
	
	public enum AttendanceType{
		normal("normal", "正常"),
		late("late", "迟到"),
		early("early", "早退"),
		none("none", "缺卡"),
		absence("absence", "旷工");
		
		private String key;
		private String value;
		private AttendanceType(String key, String value) {
			this.key = key;
			this.value = value;
		}
		public String getKey() {
			return key;
		}
		public String getValue() {
			return value;
		}
	}
	
	/**
	 * 微信端支付状态枚举
	 * @author wenhsh
	 *
	 */
	public enum PayStatus{
		SUCCESS("SUCCESS", "支付成功"),
		REFUND("REFUND", "转入退款"),
		NOTPAY("NOTPAY", "未支付"),
		CLOSED("CLOSED", "已关闭"),
		REVOKED("REVOKED", "已撤销"),
		USERPAYING("USERPAYING", "用户支付中"),
		PAYERROR("PAYERROR", "支付失败");
		private String key;
		private String value;
		
		private PayStatus(String key, String value) {
			this.key = key;
			this.value = value;
		}
		
		public String getKey() {
			return key;
		}
		
		public String getValue() {
			return value;
		}
	}
	
	/**
	 * 退款状态枚举
	 * @author wenhsh
	 *
	 */
	public enum RefundStatus{
		success("success", "退款成功"),
		fail("fail", "退款失败");
		private String key;
		private String value;
		
		private RefundStatus(String key, String value) {
			this.key = key;
			this.value = value;
		}
		
		public String getKey() {
			return key;
		}
		
		public String getValue() {
			return value;
		}
	}
	
	/**
	 * 支付宝端支付状态枚举
	 * @author wenhsh
	 *
	 */
	public enum AlipayStatus{
		WAIT_BUYER_PAY("WAIT_BUYER_PAY", "交易创建，等待买家付款"),
		TRADE_CLOSED("TRADE_CLOSED", "未付款交易超时关闭，或支付完成后全额退款"),
		TRADE_SUCCESS("TRADE_SUCCESS", "交易支付成功"),
		TRADE_FINISHED("TRADE_FINISHED", "交易结束，不可退款");
		private String key;
		private String value;
		
		private AlipayStatus(String key, String value) {
			this.key = key;
			this.value = value;
		}
		
		public String getKey() {
			return key;
		}
		
		public String getValue() {
			return value;
		}
	}
}
